package com.ssyt.hiring.common.util;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.log4j.Logger;

import com.ssyt.hiring.common.Constants;

/**
 * 邮件操作工具类
 * 
 * @author lwj
 *
 * @since2016年10月17日
 */
public class EmailUtil {
	private static final Logger LOG = Logger.getLogger(Util.class);

	private EmailUtil() throws IllegalAccessException {
		throw new IllegalAccessException();
	}

	/**
	 * 发送邮件验证码
	 * 
	 * @param email
	 * @param verificationCode
	 * @return
	 */
	public static boolean sendEmail(String toEmail, String subject, String msg) {
		// 定义发送简单邮件对象
		HtmlEmail email = new HtmlEmail();
		try {
			// 设置SMTP服务器,比如:smtp.163.com
			email.setHostName(Constants.EMAIL_SMTP);

			// 默认是25端口
			email.setSmtpPort(Constants.EMAIL_PORT);
			email.setSSLOnConnect(true);
			// SSL enabled SMTP server,即如果是支持SSL服务器的端口是465
			// simpleEmail.setSmtpPort(465);//gmail邮箱服务器就是支持SSL的。
			email.setCharset(Constants.ENCODE_UTF8);

			// 设置发送人邮箱和名字
			email.setFrom(Constants.EMAIL_USERNAME);
			// 设置收件人可以是多个
			email.addTo(toEmail);
			// simpleEmail.addTo(String ...emails);
			// 设置登入认证服务器的用户名和密码
			email.setAuthentication(Constants.EMAIL_USERNAME,
					Constants.EMAIL_PASSWORD);
			// 设置发送主题
			email.setSubject(subject);

			// 设置发送主体内容
			email.setMsg(msg);

			// 确定发送邮件动作
			email.send();
			return true;
		} catch (EmailException e) {
			Util.e(LOG, "邮件发送异常！", e);
			return false;
		}
	}
}
